package com.xuzimian.globaldemo.spring.springmvcsecurity.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;


public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

  /**
   * 根容器:返回的配置类定义了Spring应用根容器中的beans
   * 注意：上面配置的ComponentScan 会在spring 根容器中。但是不会将扫描到的controller 等springmvc 组件
   * @return
   */
  @Override
  protected Class<?>[] getRootConfigClasses() {
    return new Class<?>[] { RootConfig.class };
  }

  /**
   * Spring mvc容器:返回的配置类定义了Spring MVC应用容器中的beans
   *  注意：上面配置的ComponentScan 会在spring mvc 容器中，这里配置扫描 spring mvc 相关的组件，如Controller
   * @return
   */
  @Override
  protected Class<?>[] getServletConfigClasses() {
    return new Class<?>[] { WebMvcConfig.class };
  }

  /**
   * DispatcherServlet映射,从"/"开始
   * @return
   */
  @Override
  protected String[] getServletMappings() {
    return new String[] { "/" };
  }

}